home *** CD-ROM | disk | FTP | other *** search
/ Cre@te Online 2000 December / Cre@teOnline CD05.iso / MacSoft / XML ConsoleMax.sea / XML ConsoleMax / Required / xalan.jar / org / apache / xalan / xpath / Process.class (.txt) < prev    next >
Encoding:
Java Class File  |  2000-04-12  |  4.2 KB  |  112 lines

  1. package org.apache.xalan.xpath;
  2.  
  3. import java.lang.reflect.Constructor;
  4. import java.net.URL;
  5. import java.util.ResourceBundle;
  6. import org.apache.xalan.xpath.res.XPATHErrorResources;
  7. import org.apache.xalan.xpath.xml.PrefixResolver;
  8. import org.apache.xalan.xpath.xml.ProblemListenerDefault;
  9. import org.apache.xalan.xpath.xml.XSLMessages;
  10. import org.w3c.dom.Document;
  11. import org.w3c.dom.Node;
  12. import org.w3c.dom.NodeList;
  13. import org.xml.sax.DocumentHandler;
  14. import org.xml.sax.SAXException;
  15.  
  16. public class Process {
  17.    protected static void printArgOptions(XPATHErrorResources var0) {
  18.       System.out.println(((ResourceBundle)var0).getString("xpath_option"));
  19.       System.out.println(((ResourceBundle)var0).getString("optionIN"));
  20.       System.out.println(((ResourceBundle)var0).getString("optionSelect"));
  21.       System.out.println(((ResourceBundle)var0).getString("optionMatch"));
  22.       System.out.println(((ResourceBundle)var0).getString("optionAnyExpr"));
  23.    }
  24.  
  25.    public static void main(String[] var0) throws SAXException {
  26.       XPATHErrorResources var1 = (XPATHErrorResources)XSLMessages.loadResourceBundle("org.apache.xalan.xpath.res.XPATHErrorResources");
  27.       if (var0.length > 1) {
  28.          Object var2 = null;
  29.          String var3 = "org.apache.xalan.xpath.xdom.XercesLiaison";
  30.  
  31.          try {
  32.             Class var4 = Class.forName(var3);
  33.             Constructor var5 = var4.getConstructor((Class[])null);
  34.             var20 = (XPathSupport)var5.newInstance((Object[])null);
  35.          } catch (Exception var19) {
  36.             System.err.println(XSLMessages.createXPATHMessage(39, new Object[]{var3}));
  37.             return;
  38.          }
  39.  
  40.          XPathProcessorImpl var21 = new XPathProcessorImpl(var20);
  41.          XPath var22 = new XPath(new ProblemListenerDefault());
  42.          String var6 = null;
  43.          String var7 = null;
  44.          String var8 = null;
  45.  
  46.          for(int var9 = 0; var9 < var0.length; ++var9) {
  47.             if ("-in".equalsIgnoreCase(var0[var9])) {
  48.                ++var9;
  49.                var6 = var0[var9];
  50.             } else if ("-select".equalsIgnoreCase(var0[var9])) {
  51.                ++var9;
  52.                var7 = var0[var9];
  53.             } else if ("-match".equalsIgnoreCase(var0[var9])) {
  54.                ++var9;
  55.                var8 = var0[var9];
  56.             }
  57.          }
  58.  
  59.          if (var7 == null) {
  60.             System.out.println(XSLMessages.createXPATHMessage(40, (Object[])null));
  61.          } else {
  62.             Document var10;
  63.             if (var6 != null) {
  64.                System.out.println("Parsing XML...");
  65.                URL var11 = var20.getURLFromString(var6, (String)null);
  66.                var10 = var20.parseXML(var11, (DocumentHandler)null, (Document)null);
  67.             } else {
  68.                var10 = var20.getDOMFactory();
  69.             }
  70.  
  71.             var21.initXPath(var22, var7, (PrefixResolver)null);
  72.             XPath var23 = null;
  73.             if (var8 != null) {
  74.                var23 = new XPath(new ProblemListenerDefault());
  75.                var21.initMatchPattern(var23, var8, (PrefixResolver)null);
  76.             }
  77.  
  78.             XObject var12 = var22.execute(var20, var10, (PrefixResolver)null);
  79.             if (var12.getType() == 4) {
  80.                System.out.println("<results>");
  81.                NodeList var13 = var12.nodeset();
  82.                int var14 = var13.getLength();
  83.  
  84.                for(int var15 = 0; var15 < var14; ++var15) {
  85.                   Node var16 = var13.item(var15);
  86.                   System.out.print("  <node name='" + var16.getNodeName() + "'");
  87.                   if (var23 != null) {
  88.                      System.out.print(" match-value='" + var23.getMatchScore(var20, var16) + "'");
  89.                   }
  90.  
  91.                   if (var16.getNodeType() != 2) {
  92.                      Document var17 = var16.getNodeType() == 9 ? (Document)var16 : var16.getOwnerDocument();
  93.                      String var18 = var20.findURIFromDoc(var17);
  94.                      System.out.print(" doc-ref='" + var18 + "'");
  95.                   }
  96.  
  97.                   System.out.println("/>");
  98.                }
  99.  
  100.                System.out.println("</results>");
  101.             } else {
  102.                System.out.println("XPath Result: \n" + var12.str());
  103.             }
  104.          }
  105.       } else if (var0.length == 1) {
  106.          XPathProcessorImpl.diagnoseXPathString(var0[0]);
  107.       } else {
  108.          printArgOptions(var1);
  109.       }
  110.    }
  111. }
  112.